﻿using System.Runtime.Serialization;

namespace NGeo.GeoNames
{
    [DataContract]
    public class Country
    {
        [DataMember(Name = "geonameId")]
        public int GeoNameId { get; set; }

        [DataMember(Name = "continent")]
        public string ContinentCode { get; set; }

        [DataMember(Name = "continentName")]
        public string ContinentName { get; set; }

        [DataMember(Name = "countryCode")]
        public string CountryCode { get; set; }

        [DataMember(Name = "countryName")]
        public string CountryName { get; set; }

        [DataMember(Name = "isoNumeric")]
        public int? IsoNumericCode { get; set; }

        [DataMember(Name = "isoAlpha3")]
        public string IsoAlpha3Code { get; set; }

        [DataMember(Name = "fipsCode")]
        public string FipsCode { get; set; }

        [DataMember(Name = "capital")]
        public string CapitalCityName { get; set; }

        [DataMember(Name = "population")]
        public long Population { get; set; }

        [DataMember(Name = "areaInSqKm")]
        public string AreaInSqKm { get; set; }

        [DataMember(Name = "currencyCode")]
        public string CurrencyCode { get; set; }

        [DataMember(Name = "languages")]
        public string Languages { get; set; }

        [DataMember(Name = "bBoxWest")]
        public double? BoxWestLongitude { get; set; }

        [DataMember(Name = "bBoxNorth")]
        public double? BoxNorthLatitude { get; set; }

        [DataMember(Name = "bBoxEast")]
        public double? BoxEastLongitude { get; set; }

        [DataMember(Name = "bBoxSouth")]
        public double? BoxSouthLatitude { get; set; }

        public override string ToString()
        {
            return CountryName;
        }

    }
}
